# 1 加载webdriver驱动的包、时间包、By包
# 2 给驱动赋值Edge()/Chrome()/Firefox()
# 3 打开网址
# 4 跟进业务用例的流程，进行自动化测试
# 解决业务用例流程的技术：
# 1 定位(By.ID,'xx') 八种定位方式
# 2 对定位进行操作：点击、输入、清空、文本
# 3 特殊技术处理 窗口切换
# 4 进入、退出frame框架
# 5 弹窗 (alert confirm propmt)
# 6 下拉菜单(value index visible_text)
# 7 滚动条 (top、x、Height)
# 解决业务用例流程过程中，为了更好的模拟鼠标、键盘相关的操作，使用到如下技术：
# 8 鼠标事件(单击、双击、三击、悬停、右键、拖拽、按住不放、释放)
# 9 键盘事件(回车、制表键、Ctrl['a','x','c','v']、shift、方向键、删除、空格、insert、回退)
# 解决业务用例流程过程中，浏览器属性相关设计，使用如下技术：
# 10 浏览器事件（刷新、窗口最大化、设置窗口大小、窗口最小化、前进、后退、关闭、退出）
# 解决业务用例流程过程中，合理的使用三种等待方式，使用到如下技术：
# 11 显示等待：(WebDriverWait(driver,20,0.5).unitl(定位)、做操作)
# 12 隐式等待:(implicitly_wait(5))
# 13 强制等待： (sleep(2))
#解决业务用例流程过程中，为了更好的处理上传、下载操作，使用到如下技术：
# 14 上传：send_keys(r'文件路径'）
# 15 下载：click()